package testes.controladoras;

import static org.junit.Assert.*;
import model.*;
import org.junit.*;
import controller.*;

public class TestControladoraLocadora {
	Locadora locadora = new Locadora();
	ControladoraLocadora controladoraLocadora = new ControladoraLocadora();
	Cliente c;
	Video v;
	
	@Before
	public void setUp(){
		c = controladoraLocadora.cadastrarCliente(locadora, new Cliente("Kamilla", 234, "Rua azul", 789, 908, new CartaoAVS(432), 0.0));
		v = controladoraLocadora.cadastrarVideo(locadora, new Video(1, 4, "Um corpo que cai", "1958", "Drama", 2));
	}
	
	@Test
	public void testInstancias(){
		assertNotNull(locadora);
		assertNotNull(controladoraLocadora);
	}
	
	@Test
	public void testCadastrarCliente() {
		assertTrue(locadora.getCliente().contains(c));
	}
	
	@Test
	public void testCadastrarVideo(){
		assertTrue(locadora.getVideo().contains(v));
	}
	
	@Test
	public void testRemoverCliente(){
		assertEquals(1, controladoraLocadora.removerCliente(locadora, 432));
		assertFalse(locadora.getCliente().contains(c));
		assertEquals(0, controladoraLocadora.removerCliente(locadora, 678));
	}
	
	@Test
	public void testRemoverVideo(){
		assertEquals(1, controladoraLocadora.removerVideo(locadora, 1));
		assertFalse(locadora.getVideo().contains(v));
		assertEquals(0, controladoraLocadora.removerVideo(locadora, 9));
	}

}
